Skip to content

Add krynox.net.domain-verification template#1455

Merged
pawel-kow merged 3 commits into
Domain-Connect:masterfrom
krynox-security:krynox-domain-verification
Jul 24, 2026
Merged

Add krynox.net.domain-verification template#1455
pawel-kow merged 3 commits into
Domain-Connect:masterfrom
krynox-security:krynox-domain-verification

Conversation

@fahmikemal

Copy link
Copy Markdown
Contributor

Description

New template for Krynox (krynox.net) — a privacy-first, proof-of-work CAPTCHA service. The template lets a Krynox customer prove control of the domain they want to protect by adding the _krynox-challenge TXT record that Krynox checks, in one click via Domain Connect instead of copy-pasting DNS.

Single synchronous record: a _krynox-challenge TXT holding krynox-verify=%token%, where %token% is the one-time verification value Krynox generates per domain.

Type of change

  • New template
  • Bug fix (non-breaking change which fixes an issue in the template)
  • New feature (non-breaking change which adds functionality to the template)
  • Breaking change (fix or feature that would cause existing template behavior to be not backward compatible)

How Has This Been Tested?

  • Template functionality checked using Online Editor
  • Template file name follows the pattern <providerId>.<serviceId>.json
  • resource URL provided with logoUrl is actually served by a webserver

Checklist of common problems

  • syncPubKeyDomain is set — set to krynox.net; the public key is published at _dcpubkeyv1.krynox.net.
  • warnPhishing is not set alongside syncPubKeyDomainwarnPhishing is not present.
  • syncRedirectDomain is set whenever the template uses redirect_uri in the synchronous flow — N/A; the template has no redirect_uri, and applies are digitally signed so an unsigned open-redirect is not possible.
  • no TXT record contains SPF content ("v=spf1 ...") — the only TXT is krynox-verify=%token%.
  • txtConflictMatchingMode is set on every TXT record that must be unique — set to Prefix with txtConflictMatchingPrefix krynox-verify= so a re-apply replaces the verification record.
  • no variable is used as a bare full record value — the TXT value is krynox-verify=%token%, not a bare %token%.
  • no bare variable is used as the full host label — the host is the fixed label _krynox-challenge.
  • no variable is used in the host field to create a subdomain — the host contains no variable.
  • %host% does not appear explicitly in any host attribute — correct.
  • essential is set to OnApply on records the end user may need to modify or remove — N/A; the verification TXT must remain in place (Krynox re-checks it), so it stays essential: Always.

Online Editor test results

Editor test link(s):

@github-actions

Copy link
Copy Markdown

PR Description Check Passed

All required sections are filled in correctly.

Details
  OK  Type of change: 1/4 checkboxes ticked
  OK  How Has This Been Tested?: all 3 checkboxes ticked
  OK  Checklist of common problems: 10/10 checkboxes ticked
  OK  Online Editor test results: 2 link(s) found
  OK  Template coverage: all 1 template(s) covered
Labels to remove: Checklist of common problems not complete, Forged editor links, PR description incomplete, Test links missing

PR description check PASSED

@github-actions

Copy link
Copy Markdown

JSON Filename Check Passed

@github-actions

Copy link
Copy Markdown

JSON Schema Validation Passed

@github-actions

Copy link
Copy Markdown

Linter OK

krynox.net.domain-verification.json

Level Code Note
info DCTL1021 missing from iana definitions
info DCTL1031 all record groupId values are the same

@pawel-kow
pawel-kow added this pull request to the merge queue Jul 24, 2026
Merged via the queue into Domain-Connect:master with commit 865713a Jul 24, 2026
7 checks passed
@github-actions

Copy link
Copy Markdown

Thanks @fahmikemal for contributing to the template. 🎉

This template has been reviewed and merged by @pawel-kow. 🙌

This template repository and its review process are maintained by independent individuals in their spare time, not as part of a paid role. If you or your company benefit from this protocol and its tools, please show your appreciation by buying a beer for @pawel-kow: https://github.com/sponsors/pawel-kow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants